package d1_byte_stream;

import java.io.FileInputStream;
import java.io.InputStream;

public class FileInputStreamDemo03 {
    public static void main(String[] args) throws Exception {
        //目标: 学会如何使用文件字节输入流一次性读取完文本的全部字节, 以此避免汉字乱码问题。
        //1、创建一个文件字节输入流管道与文件接通
       InputStream is = new FileInputStream("javapromax\\day09-charset-io\\src\\陈某03.txt");


        //2、定义一个字节数组与源文件一模一样大
        //通过创建文件对象来获取,源文件的字节大小
//        File f = new File("javapromax\\day09-charset-io\\src\\陈某03.txt");
//        long size = f.length();
//        System.out.println("文件大小: "+ size);//输出文件大小
//        byte[] buffer = new byte[(int) size];//注意这里面的是int 类型
//        //进行读取
//        int len = is.read(buffer);
//        System.out.println("读取的字节数: " + len);//输出读取到的字节数
//        //将读取到的内容进行解码字节
//        System.out.println(new String(buffer));//默认使用系统的UTF-8进行解码 -->返回一个String 类型的文本
        //

        byte[] buffer1 = is.readAllBytes();
        System.out.println(new String(buffer1));//jdk 9 后的出现

        //你的内存条才多大 , 不可能搞一个超过内存条的buffer-->桶 ------->
        is.close();
    }
}

